using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc.Rendering;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
using SanJ.FreeCare.Medications;
using SanJ.FreeCare.Shared;

namespace SanJ.FreeCare.Web.Pages.Medications
{
    public abstract class IndexModelBase : AbpPageModel
    {
        public string? CodeFilter { get; set; }
        public string? StatusCodeFilter { get; set; }
        public string? KeyWordFilter { get; set; }
        public string? ProductNameFilter { get; set; }
        public string? ProductNamePYFilter { get; set; }
        public string? ProductNameWBFilter { get; set; }
        public string? ProductNameENFilter { get; set; }
        public string? AliasFilter { get; set; }
        public string? AliasPYFilter { get; set; }
        public string? AliasWBFilter { get; set; }
        public string? AliasENFilter { get; set; }
        public string? ScientificNameFilter { get; set; }
        public string? ScientificNamePYFilter { get; set; }
        public string? ScientificNameWBFilter { get; set; }
        public string? ScientificNameENFilter { get; set; }
        public string? AntiLevelCodeFilter { get; set; }
        public string? AntiClassCode1Filter { get; set; }
        public string? AntiClassCode2Filter { get; set; }
        public string? AnitDDDUnitCodeFilter { get; set; }
        public decimal? AnitDDDValueFilterMin { get; set; }

        public decimal? AnitDDDValueFilterMax { get; set; }
        public decimal? AntiOnceMinValueFilterMin { get; set; }

        public decimal? AntiOnceMinValueFilterMax { get; set; }
        public decimal? AntiOnceMaxValueFilterMin { get; set; }

        public decimal? AntiOnceMaxValueFilterMax { get; set; }
        public string? AntiOnceUnitCodeFilter { get; set; }
        public int? AntiFrequencyMinFilterMin { get; set; }

        public int? AntiFrequencyMinFilterMax { get; set; }
        public int? AntiFrequencyMaxFilterMin { get; set; }

        public int? AntiFrequencyMaxFilterMax { get; set; }
        public string? GBCodeFilter { get; set; }
        public string? TypeCodeFilter { get; set; }
        public string? ClassCodeFilter { get; set; }
        public string? FeeTypeCodeFilter { get; set; }
        public string? SpecialTypeCodeFilter { get; set; }
        public string? LevelCodeFilter { get; set; }
        public string? DoseFormCodeFilter { get; set; }
        public string? SpecificationFilter { get; set; }
        public string? BaseUnitCodeFilter { get; set; }
        public string? ClinicSaleUnitCodeFilter { get; set; }
        public decimal? ClinicSaleVolumeFilterMin { get; set; }

        public decimal? ClinicSaleVolumeFilterMax { get; set; }
        public string? InpatientSaleUnitCodeFilter { get; set; }
        public string? InpatientSaleVolumeFilter { get; set; }
        public string? TransportUnitCodeFilter { get; set; }
        public string? TransportVolumeFilter { get; set; }
        public string? DefaultDoseUnitCodeFilter { get; set; }
        public decimal? DefultDoseVolumeFilterMin { get; set; }

        public decimal? DefultDoseVolumeFilterMax { get; set; }
        public string? SecondDoseUnitCodeFilter { get; set; }
        public decimal? SecondDoseVolumeFilterMin { get; set; }

        public decimal? SecondDoseVolumeFilterMax { get; set; }
        public decimal? RetailPriceFilterMin { get; set; }

        public decimal? RetailPriceFilterMax { get; set; }
        public string? DefaultUsageCodeFilter { get; set; }
        public string? DefaultFrequencyCodeFilter { get; set; }
        public decimal? DefaultDoseVolumeFilterMin { get; set; }

        public decimal? DefaultDoseVolumeFilterMax { get; set; }
        public string? SkinTestFlagFilter { get; set; }
        public string? SkinTestNeedFlagFilter { get; set; }
        public string? SkinTestTypeFlagFilter { get; set; }
        public string? SkinTestCodeFilter { get; set; }

        protected IMedicationsAppService _medicationsAppService;

        public IndexModelBase(IMedicationsAppService medicationsAppService)
        {
            _medicationsAppService = medicationsAppService;
        }

        public virtual async Task OnGetAsync()
        {

            await Task.CompletedTask;
        }
    }
}